Proving Theorems by Program Transformation
نویسندگان
چکیده
In this paper we present an overview of the unfold/fold proof method, a method for proving theorems about programs, based on program transformation. As a metalanguage for specifying programs and program properties we adopt constraint logic programming (CLP), and we present a set of transformation rules (including the familiar unfolding and folding rules) which preserve the semantics of CLP programs. Then, we show how program transformation strategies can be used, similarly to theorem proving tactics, for guiding the application of the transformation rules and inferring the properties to be proved. We work out three examples: (i) the proof of predicate equivalences, applied to the verification of equality between CCS processes, (ii) the proof of first order formulas via an extension of the quantifier elimination method, and (iii) the proof of temporal properties of infinite state concurrent systems, by using a transformation strategy that performs program specialization.
منابع مشابه
On proving the correctness of program transformations based on free theorems for higher-order polymorphic calculi
A number of program transformations currently of interest can be derived from Wadler's \free theorems" for calculi approximating modern functional languages. Although delicate but fundamental issues arise in proving the correctness of free theorems-based program transformations, these issues are usually left unaddressed in correctness proofs appearing in the literature. As a result, most such p...
متن کاملFixed points of holomorphic transformations of operator balls
A new technique for proving fixed point theorems for families of holomorphic transformations of operator balls is developed. One of these theorems is used to show that a ∗Supported by St. John’s University Summer Support of Research Program
متن کاملAnalysis and transformation of proof procedures
Automated theorem proving has made great progress during the last few decades. Proofs of more and more diicult theorems are being found faster and faster. However, the exponential increase in the size of the search space remains for many theorem proving problems. Logic program analysis and transformation techniques have also made progress during the last few years and automated theorem proving ...
متن کاملProving Correctness via Free Theorems
Free theorems feature prominently in the field of program transformation for pure functional languages such as Haskell. However, somewhat disappointingly, the semantic properties of so based transformations are often established only very superficially. This paper is intended as a case study showing how to use the existing theoretical foundations and formal methods for improving the situation. ...
متن کاملProgram Reenement by Theorem Prover
We describe a prototype tool for developing programs by stepwise reenement in a weakest precondition framework, based on the HOL theorem proving system. Our work is based on a mechanisation of the reenement calculus, which is a theory of correctness preserving program transformations. We also use a tool for window inference that is part of the HOL system. Our tool permits subcomponents of a pro...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Fundam. Inform.
دوره 127 شماره
صفحات -
تاریخ انتشار 2013